The cloud computing is a commercial computing model in which infrastructure, a platform and software are provided. In the cloud computing, a computing task is distributed to a resource pool formed by a large number of computers, so that various application systems can acquire computing power, storage space and information service as required. The basic principle of the cloud computing is to split a large computation processing task into numerous small sub-tasks automatically through a network, send the sub-tasks to a large system formed by a plurality of servers to be searched, computed and analyzed, and finally return the processing result to a user, here, the network providing these resources is called “cloud”. The service provided by the cloud computing faces a large number of users, so the task load in the “cloud” is also very large. Therefore, task scheduling and resource allocation are the key points and difficult points for determining the efficiency of the cloud computing. However, for the task scheduling in the cloud computing, there is still no good algorithm to meet the requirements of a user yet.